home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 42
/
Amiga Format AFCD42 (Issue 126, Aug 1999).iso
/
-serious-
/
programming
/
other
/
jikes
/
src
/
op.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-05-14
|
5KB
|
229 lines
// $Id: op.h,v 1.3 1999/01/25 20:00:31 shields Exp $
//
// This software is subject to the terms of the IBM Jikes Compiler
// License Agreement available at the following URL:
// http://www.ibm.com/research/jikes.
// Copyright (C) 1996, 1998, International Business Machines Corporation
// and others. All Rights Reserved.
// You must accept the terms of that agreement to use this software.
//
#ifndef op_INCLUDED
#define op_INCLUDED
#include "config.h"
#include "tuple.h"
// code dealing with describing and listing byte code
enum operators {
OP_NOP=0x00,
OP_ACONST_NULL=0x01,
OP_ICONST_M1=0x02,
OP_ICONST_0=0x03,
OP_ICONST_1=0x04,
OP_ICONST_2=0x05,
OP_ICONST_3=0x06,
OP_ICONST_4=0x07,
OP_ICONST_5=0x08,
OP_LCONST_0=0x09,
OP_LCONST_1=0x0a,
OP_FCONST_0=0x0b,
OP_FCONST_1=0x0c,
OP_FCONST_2=0x0d,
OP_DCONST_0=0x0e,
OP_DCONST_1=0x0f,
OP_BIPUSH=0x10,
OP_SIPUSH=0x11,
OP_LDC=0x12,
OP_LDC_W=0x13,
OP_LDC2_W=0x14,
OP_ILOAD=0x15,
OP_LLOAD=0x16,
OP_FLOAD=0x17,
OP_DLOAD=0x18,
OP_ALOAD=0x19,
OP_ILOAD_0=0x1a,
OP_ILOAD_1=0x1b,
OP_ILOAD_2=0x1c,
OP_ILOAD_3=0x1d,
OP_LLOAD_0=0x1e,
OP_LLOAD_1=0x1f,
OP_LLOAD_2=0x20,
OP_LLOAD_3=0x21,
OP_FLOAD_0=0x22,
OP_FLOAD_1=0x23,
OP_FLOAD_2=0x24,
OP_FLOAD_3=0x25,
OP_DLOAD_0=0x26,
OP_DLOAD_1=0x27,
OP_DLOAD_2=0x28,
OP_DLOAD_3=0x29,
OP_ALOAD_0=0x2a,
OP_ALOAD_1=0x2b,
OP_ALOAD_2=0x2c,
OP_ALOAD_3=0x2d,
OP_IALOAD=0x2e,
OP_LALOAD=0x2f,
OP_FALOAD=0x30,
OP_DALOAD=0x31,
OP_AALOAD=0x32,
OP_BALOAD=0x33,
OP_CALOAD=0x34,
OP_SALOAD=0x35,
OP_ISTORE=0x36,
OP_LSTORE=0x37,
OP_FSTORE=0x38,
OP_DSTORE=0x39,
OP_ASTORE=0x3a,
OP_ISTORE_0=0x3b,
OP_ISTORE_1=0x3c,
OP_ISTORE_2=0x3d,
OP_ISTORE_3=0x3e,
OP_LSTORE_0=0x3f,
OP_LSTORE_1=0x40,
OP_LSTORE_2=0x41,
OP_LSTORE_3=0x42,
OP_FSTORE_0=0x43,
OP_FSTORE_1=0x44,
OP_FSTORE_2=0x45,
OP_FSTORE_3=0x46,
OP_DSTORE_0=0x47,
OP_DSTORE_1=0x48,
OP_DSTORE_2=0x49,
OP_DSTORE_3=0x4a,
OP_ASTORE_0=0x4b,
OP_ASTORE_1=0x4c,
OP_ASTORE_2=0x4d,
OP_ASTORE_3=0x4e,
OP_IASTORE=0x4f,
OP_LASTORE=0x50,
OP_FASTORE=0x51,
OP_DASTORE=0x52,
OP_AASTORE=0x53,
OP_BASTORE=0x54,
OP_CASTORE=0x55,
OP_SASTORE=0x56,
OP_POP=0x57,
OP_POP2=0x58,
OP_DUP=0x59,
OP_DUP_X1=0x5a,
OP_DUP_X2=0x5b,
OP_DUP2=0x5c,
OP_DUP2_X1=0x5d,
OP_DUP2_X2=0x5e,
OP_SWAP=0x5f,
OP_IADD=0x60,
OP_LADD=0x61,
OP_FADD=0x62,
OP_DADD=0x63,
OP_ISUB=0x64,
OP_LSUB=0x65,
OP_FSUB=0x66,
OP_DSUB=0x67,
OP_IMUL=0x68,
OP_LMUL=0x69,
OP_FMUL=0x6a,
OP_DMUL=0x6b,
OP_IDIV=0x6c,
OP_LDIV=0x6d,
OP_FDIV=0x6e,
OP_DDIV=0x6f,
OP_IREM=0x70,
OP_LREM=0x71,
OP_FREM=0x72,
OP_DREM=0x73,
OP_INEG=0x74,
OP_LNEG=0x75,
OP_FNEG=0x76,
OP_DNEG=0x77,
OP_ISHL=0x78,
OP_LSHL=0x79,
OP_ISHR=0x7a,
OP_LSHR=0x7b,
OP_IUSHR=0x7c,
OP_LUSHR=0x7d,
OP_IAND=0x7e,
OP_LAND=0x7f,
OP_IOR=0x80,
OP_LOR=0x81,
OP_IXOR=0x82,
OP_LXOR=0x83,
OP_IINC=0x84,
OP_I2L=0x85,
OP_I2F=0x86,
OP_I2D=0x87,
OP_L2I=0x88,
OP_L2F=0x89,
OP_L2D=0x8a,
OP_F2I=0x8b,
OP_F2L=0x8c,
OP_F2D=0x8d,
OP_D2I=0x8e,
OP_D2L=0x8f,
OP_D2F=0x90,
OP_I2B=0x91,
OP_I2C=0x92,
OP_I2S=0x93,
OP_LCMP=0x94,
OP_FCMPL=0x95,
OP_FCMPG=0x96,
OP_DCMPL=0x97,
OP_DCMPG=0x98,
OP_IFEQ=0x99,
OP_IFNE=0x9a,
OP_IFLT=0x9b,
OP_IFGE=0x9c,
OP_IFGT=0x9d,
OP_IFLE=0x9e,
OP_IF_ICMPEQ=0x9f,
OP_IF_ICMPNE=0xa0,
OP_IF_ICMPLT=0xa1,
OP_IF_ICMPGE=0xa2,
OP_IF_ICMPGT=0xa3,
OP_IF_ICMPLE=0xa4,
OP_IF_ACMPEQ=0xa5,
OP_IF_ACMPNE=0xa6,
OP_GOTO=0xa7,
OP_JSR=0xa8,
OP_RET=0xa9,
OP_TABLESWITCH=0xaa,
OP_LOOKUPSWITCH=0xab,
OP_IRETURN=0xac,
OP_LRETURN=0xad,
OP_FRETURN=0xae,
OP_DRETURN=0xaf,
OP_ARETURN=0xb0,
OP_RETURN=0xb1,
OP_GETSTATIC=0xb2,
OP_PUTSTATIC=0xb3,
OP_GETFIELD=0xb4,
OP_PUTFIELD=0xb5,
OP_INVOKEVIRTUAL=0xb6,
OP_INVOKENONVIRTUAL=0xb7,
OP_INVOKESTATIC=0xb8,
OP_INVOKEINTERFACE=0xb9,
OP_XXXUNUSEDXXX=0xba,
OP_NEW=0xbb,
OP_NEWARRAY=0xbc,
OP_ANEWARRAY=0xbd,
OP_ARRAYLENGTH=0xbe,
OP_ATHROW=0xbf,
OP_CHECKCAST=0xc0,
OP_INSTANCEOF=0xc1,
OP_MONITORENTER=0xc2,
OP_MONITOREXIT=0xc3,
OP_WIDE=0xc4,
OP_MULTIANEWARRAY=0xc5,
OP_IFNULL=0xc6,
OP_IFNONNULL=0xc7,
OP_GOTO_W=0xc8,
OP_JSR_W=0xc9,
OP_SOFTWARE=0xfe,
OP_HARDWARE=0xff
};
extern void opdesc (int opc, char **name, char **desc);
#include "class.h"
extern void opdmp(Tuple<cp_info *>& constant_pool, Tuple<u1>& code);
#endif